package com.kgar.controller;

import com.kgar.dto.LoginFormDTO;
import com.kgar.dto.Result;
import com.kgar.service.LoginService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;

/**
 * @author Trimb
 */
@RestController
@RequestMapping("/login")
public class LoginController {

    @Resource
    private LoginService loginService;

    /**
     * 登录功能
     *
     * @param loginForm 登录参数，包含手机号、验证码；或者手机号、密码
     */
    @PostMapping
    public Result login(@RequestBody LoginFormDTO loginForm){
        //登录业务
        return loginService.login(loginForm);
    }


    /**
     * 发送手机验证码
     */
    @PostMapping("/code")
    public Result sendCode(@RequestParam("telephone") String phone) {
        //  发送短信验证码并保存验证码
        return loginService.sendCode(phone);
    }

    /**
     * 登出系统
     */
    @PostMapping("logout")
    public Result logout(@RequestParam("token")String authorization) {
        //  登出
        return loginService.logout(authorization);
    }

    /**
     *
     * 重置密码（修改密码）
     */
    @PutMapping("pwd")
    public Result setPassword(@RequestBody LoginFormDTO loginFormDTO){
        return loginService.setPassword(loginFormDTO);
    }
}
